package com.hdl.design.pattern.engine.template;

import java.util.List;
import java.util.Map;

/**
 * 类名 AbstractEtlRequestHandler
 * 描述 Engine请求数据处理抽象模板
 *
 * @author hedonglin
 * @version 1.0
 * @date 2019/9/25 15:29
 */
public abstract class AbstractEngineRequestHandler extends AbstractRequestHandler{
    /**
     * 方法描述: 引擎请求处理
     * @param reqMap 请求Map
     * @param aoMap AoMap
     * @author hedonglin
     * @date 2019/9/25 15:35
     * @return {Map} 返回结果Map
    */
    @Override
    public Map<String, Object>  reqHandler(Map<String, Object> reqMap, Map<String, Object> aoMap) {
        // 概括为引擎处理
        // 4、调用引擎方法，得到返回结果
        List<Object> auditResults = callEngine(aoMap);

        // 5、构造引擎返回Map,方便转化为不同策略的数据
//        return transService.resDataToMap(auditResults, reqMap);
        return null;
    }


    /**
     * 方法描述: 调用引擎
     * @param aoMap ao参数
     * @author hedonglin
     * @date 2019/9/25 15:51
     * @return {@link List<Object>} 引擎返回结果列表
    */
    public abstract List<Object> callEngine(Map<String, Object> aoMap);
}
